explain implementation